Skip to content

Ship CodeClone 2.0.0b5 with coverage-aware metrics and baseline-honest review surfaces#21

Merged
orenlab merged 17 commits intomainfrom
feat/2.0.0b5
Apr 16, 2026
Merged

Ship CodeClone 2.0.0b5 with coverage-aware metrics and baseline-honest review surfaces#21
orenlab merged 17 commits intomainfrom
feat/2.0.0b5

Conversation

@orenlab
Copy link
Copy Markdown
Owner

@orenlab orenlab commented Apr 16, 2026

Summary

Ship 2.0.0b5 as the next v2 beta milestone.

This release expands the canonical report with adoption, API-surface, and coverage-join layers, tightens cache and baseline-aware runtime behavior, and brings the MCP/HTML/client surfaces into closer agreement with the core contracts.

Highlights

  • add canonical coverage_adoption, api_surface, and coverage_join metrics/report layers
  • add golden_fixture_paths to exclude intentional fixture clone groups from health/gates while preserving them as suppressed facts
  • separate measured coverage hotspots from coverage scope gaps
  • surface adoption/API/coverage facts across CLI, MCP, HTML, VS Code, Claude Desktop, and Codex plugin flows
  • make cache profile compatibility API-surface-aware (Cache 2.5) and keep warm/cold API behavior honest
  • stabilize benchmark and CLI baseline-path handling
  • refine HTML review surfaces, provenance badges, empty states, filters, and mobile behavior
  • add compact MCP threshold context for empty design checks so agents can tell "quiet" from "just below threshold"

Validation

  • uv run pytest --cov=codeclone --cov-report=term-missing --cov-fail-under=99 -q
  • uv run pre-commit run --all-files
  • uv run --with mkdocs --with mkdocs-material mkdocs build --strict
  • MCP service/server tests
  • VS Code extension checks, tests, and .vsix packaging
  • Claude Desktop bundle checks, tests, and .mcpb build
  • Codex plugin manifest checks and tests
  • benchmark workflow green with strong warm-cache speedup

Notes

  • no baseline update is included in this PR
  • coverage_join remains a current-run external signal, not baseline truth
  • golden_fixture_paths affects health/gates only for fully matching fixture clone groups; suppressed facts remain visible in the canonical report

orenlab added 17 commits April 6, 2026 21:01
- add compact MCP interpretation fields for health_scope, focus, and new_by_source_kind across summary, production triage, and changed-scope projections
- make the VS Code extension explain repository-wide health, production focus, outside-focus debt, and new-finding source-kind attribution more clearly without widening the review flow
- bump the preview VS Code extension to 0.2.2 and record the UX clarification pass in its changelog
- add compact MCP interpretation fields for health_scope, focus, and new_by_source_kind across summary, production triage, and changed-scope projections
- make the VS Code extension explain repository-wide health, production focus, outside-focus debt, and new-finding source-kind attribution more clearly without widening the review flow
- bump the preview VS Code extension to 0.2.2 and record the UX clarification pass in its changelog
- join external Cobertura coverage.xml into current-run metrics using stdlib XML parsing
- surface coverage join facts consistently in CLI, reports, MCP, SARIF, and HTML
- distinguish measured coverage hotspots from coverage scope gaps in canonical findings
- add project-level golden_fixture_paths policy and carry excluded clone groups as suppressed report facts
- surface suppressed golden fixtures in Clones UI/CLI without affecting health or gates
- fix cached segment projection branch behavior and benchmark/cache regressions
- preserve cached public API parameter order and keep warm/cold API diffs stable
- bump canonical report schema and refresh docs, MCP contracts, and regression tests
… metrics

- remove typing_coverage/docstring_coverage toggles from CLI, pyproject config, runtime plumbing, and docs
- always collect adoption facts in metrics mode and keep unified metrics baselines writing adoption snapshots
- surface Coverage Join facts in the VS Code overview and gate the optional coverage help topic by server version
- harden the VS Code Coverage Join path against null metrics payloads and add formatter regression coverage
- sync Claude Desktop and Codex plugin guidance with canonical coverage/adoption/API MCP surfaces
- refresh HTML quality/clones/dead-code/dependencies presentation with shared stat-card summaries
- update repo pyproject and contract/docs/tests to match the simplified metrics model
- neutralize repo quality gates in benchmark runs
- resolve pyproject baseline paths from the analysis root
- treat --api-surface as a metrics-mode request
- refresh CLI regressions and targeted coverage tests
- document relative baseline path resolution
…badges

- make cache analysis-profile compatibility aware of api-surface collection
- bump cache schema to 2.5 and propagate collect_api_surface through CLI and MCP cache setup
- add regressions for warm-cache api-surface runs and profile mismatch handling
- unify provenance modal chips under one badge UI and remove mixed status/bool badge styles
- polish report cards, typography, mobile wrapping, and hover treatment
- add Findings intro banner and fix dead-code suppressed summary count
- sync cache contract docs, AGENTS version table, changelog, and HTML tests
- include threshold_context in empty complexity, coupling, and cohesion check payloads
- report measured_units and highest_below_threshold from canonical metric families
- distinguish run finding thresholds from explicit requested_min filters
- document the compact MCP response hint for agent-oriented triage
- cover empty-check and requested-min cases with focused MCP tests
@github-actions
Copy link
Copy Markdown

🔬 CodeClone Report

Metric Value
Health 89/100 (B)
Status ✅ Passed
Baseline ok
Cache not used
Version 2.0.0b5

Findings

Clones: 0 (0 new, 0 known)
Structural: 0
Dead code: 0
Design: 0

🤖 Generated by CodeClone

@orenlab orenlab merged commit fee1818 into main Apr 16, 2026
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant